/**
 * * 14/05/2010
 * @author Kal�u Caminha
 * @author William Rodrigues
 * @author Rodrigo Coelho
 */
package semantico;

/**
 *
 * @author kaleu
 */
public class Parametro extends Identificador{

    protected int nivel = -1;
    protected int deslocamento = 0;
    protected int mecanismoPassagem = -1;
    
    protected TipoVariavel tipo = null;

    public static int PASSAGEM_REF = 1;
    public static int PASSAGEM_VAL = 2;

    public Parametro(String nome) {
        super(nome, CAT_PARAMETRO);
    }


    public int getDeslocamento() {
        return deslocamento;
    }

    public void setDeslocamento(int deslocamento) {
        this.deslocamento = deslocamento;
    }

    public int getMecanismoPassagem() {
        return mecanismoPassagem;
    }

    public void setMecanismoPassagem(int mecanismoPassagem) {
        this.mecanismoPassagem = mecanismoPassagem;
    }

    public int getNivel() {
        return nivel;
    }

    public void setNivel(int nivel) {
        this.nivel = nivel;
    }

    public TipoVariavel getTipo() {
        return tipo;
    }

    public void setTipo(TipoVariavel tipo) {
        this.tipo = tipo;
    }
	@Override
    public String toString(){
        return "Parametro "+this.getNome()+" ("+this.tipo+")";
    }

    @Override
    public TipoVariavel getIdTipo() {
        return this.tipo;
    }
}
